package com.koron.ticket.work.logicticket.ychotsafework.bean;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.ticket.work.securityarrangement.bean.SecurityArrangement;
import com.koron.ticket.work.workflow.bean.WorkFlow;
import com.koron.ticket.work.worklocation.bean.WorkLocationBean;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 动火安全作业票
 */
@Data
public class HotWorkSafeDto {

    @ApiModelProperty(value = "ID")
    private String id;

    @ApiModelProperty(value = "工作票票号")
    private String code;

    @ApiModelProperty(value = "标题")
    private String title;

    @ApiModelProperty(value = "工作票类型")
    private String type;

    @ApiModelProperty(value = "工作票状态，来源数据字典，两票管理-ticket_work_status")
    private Integer status;

    @ApiModelProperty(value="作业申请时间")
    private Date appTime;

    @ApiModelProperty(value = "开票人所在单位id、申请单位id")
    private String unit;

    @ApiModelProperty(value = "开票人所在单位name、申请单位名称")
    private String unitName;

    @ApiModelProperty(value = "动火安全申请人acc")
    private String proposer;

    @ApiModelProperty(value = "动火安全申请人名称")
    private String proposerName;

    @ApiModelProperty(value = "作业内容")
    private String content;

    @ApiModelProperty(value = "动火地点")
    private List<WorkLocationBean> workLocationList;

    @ApiModelProperty(value="动火作业级别 特级、一、二级")
    private String hotLevel;

    @ApiModelProperty(value="动火方式 ")
    private String hotWay;

    @ApiModelProperty(value="动火作业实施开始时间")
    private Date estimatedStartTime;

    @ApiModelProperty(value="动火作业实施结束时间")
    private Date estimatedEndTime;

    @ApiModelProperty(value = "动火作业负责人acc")
    private String director;

    @ApiModelProperty(value = "动火作业负责人名称")
    private String directorName;

    @ApiModelProperty(value="动火人账号")
    private String hotAcc;

    @ApiModelProperty(value="动火人名称")
    private String hotName;

    @ApiModelProperty(value="动火分析")
    private List<HeatAnalysisBean> heatanAlysislist;

    @ApiModelProperty(value="涉及其他特殊作业")
    private String otherSpecialWork;

    @ApiModelProperty(value="涉及的其他特殊作业安全作业证编号、电工证号")
    private String otherSpecialNum;

    @ApiModelProperty(value="风险辨识结果")
    private String riskResults;

    @ApiModelProperty(value = "安全措施列表")
    private List<SecurityArrangement> securityArrangementList;

    @ApiModelProperty(value="安全交底人acc")
    private String securityAcc;

    @ApiModelProperty(value="安全交底人名称")
    private String securityName;

    @ApiModelProperty(value="接受交底人acc")
    private String acceptAcc;

    @ApiModelProperty(value="接受交底人名称")
    private String acceptName;

    @ApiModelProperty(value="动火措施初审人账号")
    private String hotMeasuresAcc;

    @ApiModelProperty(value="动火措施初审人名称")
    private String hotMeasuresName;

    @ApiModelProperty(value="监护人acc")
    private String guardian;

    @ApiModelProperty(value="监护人名称")
    private String guardianName;

    @ApiModelProperty(value = "预览标志,0：已预览;1：未预览")
    private Integer previewFlag;

    @ApiModelProperty(value = "创建人ID", hidden = true)
    private String createUserId;

    @ApiModelProperty(value = "创建人姓名", hidden = true)
    private String createUserName;

    @ApiModelProperty(value = "创建单位id", hidden = true)
    private String createDept;

    @ApiModelProperty(value = "创建人单位名称", hidden = true)
    private String createDeptName;

    @ApiModelProperty(value = "最后修改时间", hidden = true)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty(value = "创建人时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty(value = "签名信息")
    private List<WorkFlow> workFlowList;


}
